fix: keep multiple extras distinct in resolved pins - #297
Merged
Conversation
eloisekp
force-pushed
the
eloise-extra-pins
branch
from
July 22, 2026 08:11
f562236 to
2357080
Compare
jvolkman
force-pushed
the
eloise-extra-pins
branch
from
July 23, 2026 04:44
2357080 to
8c2c49e
Compare
Owner
|
Thanks for catching that! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The resolver keys pins by bare package name (
parse_package_key(k).name), sowhen a package is pinned with multiple extras (e.g.
foo[bar]andfoo[baz])they collapse to a single
fooentry and all but the last are silently dropped.The downstream extras machinery in
thin_package_repo.bzlalready groups pins byparts.extraand emits[extra]proxy targets — but it never sees any extras,because the resolver strips them first. This keeps the extra in the pin key so
that path is actually fed, and references the
[extra]proxy target whenrendering
all_requirements.Tested via
_test_multi_extra_pinsin the lock resolver suite.